#ifndef BOARD_H
#define BOARD_H

#include <config.h>
#include <build.h>
#include <stdio.h>


#ifdef ORIGIN_BORAD

#ifdef __cplusplus
extern "C" {
#endif
#define assert(n) _assert(n, #n)

int puts(const char *s);
void *b_malloc(size_t size, unsigned long offset);

// #include <stdarg.h>
// typedef int FILE ;
// typedef unsigned int size_t;

// #define printf _m_printf

// void *memcpy(void *dest, void *src, size_t n);
// int fflush(FILE *stream);
// int fprintf(FILE *stream, const char *fmt, ...);
// int printf(const char*fmt, ...);
// int sprintf(char *buf, const char *fmt, ...);
// int vsprintf(char *buf, const char *fmt, va_list args);

#ifdef __cplusplus
}
#endif

#else // no ORIGIN_BOARD
#include <assert.h>
#define b_malloc(size, addr) malloc(size)

#endif


#define version_print() printf("build version: "); printf(BUILD_VERSION); printf("\n")


#endif
